package cn.mujiankeji.mbrowser.app

import cn.mujiankeji.mbrowser.数据.配置项.应用配置
import com.blankj.utilcode.util.FileIOUtils
import com.blankj.utilcode.util.FileUtils
import okio.Path
import java.io.File

object 应用文件 {

    // 上传图片到数据文件
    fun 图片库路径() = (应用配置.路径_数据 + "image/").also {
        FileUtils.createOrExistsDir(it)
    }

    /**
     * @param id 应当是所在类型中的一个
     */
    fun 添加图片到应用(分类 : 应用文件存储归类,id : Long, bytes : ByteArray) :Boolean {
        try {
            val filename = 分类.toLocalImageName(id)
            val file = File(图片库路径() + filename)
            file.writeBytes(bytes)
            return true
        }catch (e : Exception){
            e.printStackTrace()
            return false
        }
    }

    fun 删除图片(分类 : 应用文件存储归类,id : Long) :Boolean {
        try {
            val filename = 分类.toLocalImageName(id)
            val file = File(图片库路径() + filename)
            file.delete()
            return true
        }catch (e : Exception){
            e.printStackTrace()
            return false
        }
    }




}

enum class 应用文件存储归类 {
    主页标签,历史
}
fun 应用文件存储归类.toName(id : Long) : String{
    return  when(this){
        应用文件存储归类.主页标签 -> "hometab"
        应用文件存储归类.历史 ->  "history"
    } + "_$id"
}
fun 应用文件存储归类.toLocalImageName(id : Long) : String{
    return  this.toName(id)  + ".jpg"
}